package org.example;

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.List;
import java.util.concurrent.TimeUnit;

import static java.lang.Thread.sleep;

/**
 * @author starsea
 * @date 2024-02-15 18:50
 */

public class Test1 {
    public static void main(String[] args) throws InterruptedException {
        //Test01();
        //Test02();
        //Test03();
        //Test04();
        //Test05();
        //Test06();
       // test07();
        //test08();
        test09();
    }
//
    private static void test09() throws InterruptedException {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //找到输入框
        WebElement input=webDriver.findElement(By.cssSelector("#kw"));
        //输入蛋糕
        input.sendKeys("蛋糕");
        sleep(3000);
        //ctrl+A全选
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL,"A");
        sleep(3000);
        //ctrl+X
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL,"X");
        sleep(3000);
        //ctrl+V
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL,"V");
        sleep(3000);
        //回车
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.ENTER);
        //校验
        List<WebElement>elements=webDriver.findElements(By.xpath("//font[text()=\"蛋糕\"]"));
        sleep(3000);
        int flag=1;
        for(int i=0;i<elements.size();i++)
        {
            if(!"蛋糕".equals(elements.get(i).getText()))
            {
                System.out.println("测试不通过");
                flag=0;
            }
        }
        if(flag==1)
        {
            System.out.println("测试通过");
        }
        //关闭浏览器
        webDriver.quit();
    }

    //回车
    private static void test08() throws InterruptedException {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //找到输入框
        WebElement input=webDriver.findElement(By.cssSelector("#kw"));
        //输入蛋糕
        input.sendKeys("蛋糕");
        sleep(3000);
        //按回车//*[@id="3001"]/div/div[1]/div/div/h3/div/a/font[1]
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.ENTER);
        //校验#\33 001 > div > div:nth-child(1) > div > div > h3 > div > a > font:nth-child(1)
       List<WebElement>elements=webDriver.findElements(By.xpath("//font[text()=\"蛋糕\"]"));
       sleep(3000);
       Integer flag=1;
       for(int i=0;i<elements.size();i++)
       {
           if(!"蛋糕".equals(elements.get(i).getText()))
           {
               System.out.println("测试不通过");
               flag=0;
           }
       }
       if(flag==1)
       {
           System.out.println("测试通过");
       }
        //关闭浏览器
        webDriver.quit();
    }

    //滚动条
    private static void test07() throws InterruptedException {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //找到输入框
        WebElement input=webDriver.findElement(By.cssSelector("#kw"));
        //输入张三
        input.sendKeys("鲜花");
        //找到百度一下按钮
        WebElement button=webDriver.findElement(By.cssSelector("#su"));
        //点击按钮
        button.click();
        //进入页面，等待渲染
       sleep(3000);
        ((JavascriptExecutor)webDriver).executeScript("document.documentElement.scrollTop=10000");
        sleep(3000);
        ((JavascriptExecutor)webDriver).executeScript("document.documentElement.scrollTop=0");
        sleep(3000);
        webDriver.quit();

    }

    //创建浏览器回退按钮
    private static void Test06() throws InterruptedException {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //找到输入框
        WebElement input=webDriver.findElement(By.cssSelector("#kw"));
        //输入张三
        input.sendKeys("张三");
        //找到百度一下按钮
        WebElement button=webDriver.findElement(By.cssSelector("#su"));
        //点击按钮
        button.click();
        //进入页面，等待渲染
        sleep(3000);
        //浏览器回退
        webDriver.navigate().back();
        //等待渲染
        sleep(3000);
        //获取当前页面的url
        String url=webDriver.getCurrentUrl();
        //校验
        if("https://www.baidu.com/".equals(url))
        {
            System.out.println("测试通过");
        }
        else
        {
            System.out.println("测试未通过");
        }
        sleep(3000);
        //前进
        webDriver.navigate().forward();
        sleep(3000);
        WebElement inputs=webDriver.findElement(By.cssSelector("#kw"));
        System.out.println(inputs.getText());
        if("张三".equals(inputs.getText()))
        {
            System.out.println("测试通过");
        }
        else
        {
            System.out.println("测试不通过");
        }
        //关闭浏览器
        webDriver.quit();
    }

    //设置浏览器大小
    private static void Test05() {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //设置浏览器的大小
        webDriver.manage().window().setSize(new Dimension(200,400));
        //定位搜索框
        WebElement element=webDriver.findElement(By.cssSelector("#kw"));
        //校验
        if(element!=null)
        {
            System.out.println("测试通过");
        }
        else
        {
            System.out.println("测试不通过");
        }
        try {
            sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        webDriver.quit();
    }

    //浏览器最大化
    private static void test04() {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //展示效果
        //webDriver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
        //浏览器页面最大化
        webDriver.manage().window().maximize();
        //定位换一换元素String change=webDriver.findElement(By.cssSelector("#hotsearch-refresh-btn > span"));
        WebElement change= webDriver.findElement(By.xpath("//*[@id=\"hotsearch-refresh-btn\"]/span"));
        //校验
        if("换一换".equals(change))
        {
            System.out.println("测试通过");
        }
        //关闭
        webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
        webDriver.quit();
    }

    //打印url
    private static void Test03() {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //使用API完成当前url的创建
        String url=webDriver.getCurrentUrl();
        //校验
        if("https://www.baidu.com/".equals(url))
        {
            System.out.println(url);
            System.out.println("测试通过");
        }
        else
        {
            System.out.println("当前url："+url+"测试不通过");
        }
        //关闭浏览器
        webDriver.quit();
    }

    //打印title
    private static void Test02() {
        //<title>百度一下，你就知道</title>
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //找到title
        String title =webDriver.getTitle();
        //校验
        if("百度一下，你就知道".equals(title))
        {
            System.out.println("测试通过");
        }
        //输出
        webDriver.quit();
    }

    //测试百度一下的按钮
    private static void Test01() {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //输入框输入比特
        WebElement element=webDriver.findElement(By.cssSelector("#kw"));
        element.sendKeys("比特");
        //点击百度一下
        WebElement button=webDriver.findElement(By.cssSelector("#su"));
        button.click();
        //睡眠
        webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        //校验是否正确
        List<WebElement> elements=webDriver.findElements(By.cssSelector("a em"));
        for(int i=0;i<elements.size();i++)
        {
            if("比特".equals(elements.get(i).getText()))
            {
                System.out.println(i+"通过测试");
            }
            else
            {
                break;
            }
        }
        webDriver.close();
        //退出程序
    }


}
